草庐IT

Android JsonArray 和 JsonObject 反序列化

全部标签

java - Hibernate session.contains(类 clazz,序列化 id)

我希望能够检查session是否包含给定类/标识符的实体。我目前看不到执行此操作的方法。contains()接受一个实体对象而不是类+键get()如果实体不存在则查询数据库,这是我不想做的load()永远不会返回null,因为代理总是被创建,所以我不能使用这个方法是否可以在不对数据库产生副作用/查询的情况下执行上述操作? 最佳答案 这个有效:publicbooleanisIdLoaded(Serializableid){for(Objectkey:getSession().getStatistics().getEntityKeys(

java - 在没有适当字段的情况下使用 Jackson 反序列化 JSON

我有这个JSON:{"success":false}我想将它反序列化到这个POJO中:classMessage{privateMapdataset=newHashMap();@JsonProperty("success")publicbooleanisSuccess(){returnBoolean.valueOf(dataset.get("success"));}@JsonProperty("success")publicvoidsetSuccess(booleansuccess){dataset.put("success",String.valueOf(success));}}是否可

java - GWT 自定义字段序列化问题

考虑一个不可变类Foo(一个由ID和名称组成的POJO),它需要序列化以便将数据从服务器发送到客户端。publicfinalclassFoo{privatefinalintm_id;privatefinalStringm_displayName;privateFoo(finalintid,finalStringdisplayName){m_id=id;m_displayName=displayName;}publicstaticFoocreate(finalintid,finalStringdisplayName){//Someerrorcheckingoccurshere....m_

java - 从 String 反序列化 EnumS 的优雅方式

我想连载一些EnumSet至String使用其toString()方法。例如:EnumSet.of(FooType.COMMON,FooType.MEDIUM).toString()会给[COMMON,MEDIUM].问题是关于将这样的字符串反序列化回EnumSet的优雅方法。.我正在寻找一些众所周知的库(可能像apache-commons)或此类东西的标准Util类。类似于:EnumSetUtil.valueOf(FooType.class,"[COMMON,MEDIUM]")我是这样实现的:publicstatic>EnumSetvalueOf(ClasseClass,String

java - Json动态反序列化与 jackson

我已经看过问题“Jacksondynamicpropertynames”,但它并没有真正回答我的问题。我想反序列化这样的东西:publicclassResponse{privateStringstatus;privateErrorerror;privateTdata;}但数据可以有不同的名称,因为存在不同的服务并返回具有一些不同数据的相同结构。例如“用户”和“契约(Contract)”:{response:{status:"success",user:{...}}}或{response:{status:"failure",error:{code:212,message:"Unablet

java - 反序列化是如何工作的?

据我所知,不会调用其对象被序列化的类的构造函数,而是调用第一个不可序列化构造函数的无参数构造函数。现在考虑以下代码publicclassSerializeDemoimplementsSerializable{privateStringname;intage;//default0publicSerializeDemo(Stringname,booleansetAge){this.name=name;if(setAge){this.age=18;}}@OverridepublicStringtoString(){return"Nameis"+name+"andageis"+age;}pub

java - 使用 thrift json 序列化将对象转换为 JSON 字符串

我是节俭的新手。我需要使用ThriftJSON序列化将我的数据对象转换为JSON字符串。我试过这种方式。TSerializerserializer=newTSerializer(newTSimpleJSONProtocol.Factory());Stringjson=serializer.toString(object_name);这里有一个错误,object_name应该在TBase中。我该如何解决这个问题? 最佳答案 Inhereisanerror,thatobject_nameshouldbeinTBase.下次,请发布准确的

java - 反序列化映射失败时如何使 Jackson 抛出异常

Jackson在处理反序列化映射期间发生的异常时有一个奇怪的行为:它抛出一个JsonMappingException其.getCause()返回异常链的最里面。//inmainObjectMapperjsonMapper=newObjectMapper();Stringjson="{\"id\":1}";try{Qq=jsonMapper.readValue(json,Q.class);}catch(JsonMappingExceptione){System.out.println(e.getCause());//java.lang.RuntimeException:ex2}//cla

java - 序列化 java.util.Random

我正在开发一款简单的小游戏(主要是为了学习Java8和JavaFX中的新功能)。我拥有的功能之一是能够为游戏的随机数生成器提供种子,这样您就可以在不同的系统上与friend玩大致相同的游戏(想想Minecraftmap或The艾萨克的绑定(bind)游戏)。我想添加保存游戏以便稍后恢复的功能。查看java.util.Random类的文档后,我找不到获取随机数生成器当前种子的方法。我想出的在保存游戏后恢复随机数生成器的唯一方法是在保存时通过反射访问种子并使用它,或者在加载时播种初始种子并调用nextInt()一遍又一遍,直到我们将随机数生成器前滚到足以恢复游戏保存前的位置。

java - 序列化 lambda 而没有 serialVersionUID?

我正在尝试了解序列化如何与Java及其最新版本一起工作。我正在尝试像这样序列化一个lambda:Runnabler=(Runnable&Serializable)()->{System.out.println("Thisisatest");};但我注意到我没有关于缺少serialVersionUID变量的警告。正常吗?我知道它将在运行时生成,但强烈建议定义它:https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.htmlIfaserializableclassdoesnotexplicitlydeclareaser